package virtorina.client.room.rpc;

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.LinkedList;

import virtorina.client.admin.dto.LabelDTO;
import virtorina.client.admin.rpc.AdminService;
import virtorina.client.admin.rpc.AdminServiceAsync;
import virtorina.client.room.dto.RoomInfo;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("rooms")
public interface GWTRoomsService extends RemoteService {
	public static class Util {
		private static GWTRoomsServiceAsync instance;

		public static GWTRoomsServiceAsync getInstance() {
			if (instance == null) {
				instance = GWT.create(GWTRoomsService.class);
			}
			return instance;
		}
	}

	LinkedList<RoomInfo> RoomsList();

	LinkedList<LabelDTO> getAllLabels();

	Integer makeRoom(LinkedHashSet<Long> labels, String name,
			LinkedList<Integer> types);

}
